package org.linloong.modules.apis.ai.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Map;

/**
 * Dify 消息请求 DTO
 */
@Data
public class DifyMessageRequest {
    
    /**
     * 用户输入/提问内容
     */
    private String query;
    
    /**
     * 对话输入参数
     */
    private Map<String, Object> inputs;
    
    /**
     * 响应模式，支持：streaming, blocking
     */
    @JsonProperty("response_mode")
    private String responseMode = "blocking";
    
    /**
     * 用户标识，用于定义终端用户的身份，必须与用户的真实身份相对应
     */
    private String user;
    
    /**
     * 会话 ID，需要基于此 ID 继续对话
     */
    @JsonProperty("conversation_id")
    private String conversationId;
    
    /**
     * 文件列表，适用于支持文件上传的应用
     */
    private Object[] files;
    
    /**
     * 是否自动生成标题，默认 false
     */
    @JsonProperty("auto_generate_name")
    private Boolean autoGenerateName = false;
}